package br.edu.fucapi.posgraduacao.poo2.sgr.controller.impl;

import java.io.Serializable;
import java.util.List;
import javax.inject.Inject;
import br.edu.fucapi.posgraduacao.poo2.sgr.controller.AtividadeController;
import br.edu.fucapi.posgraduacao.poo2.sgr.dao.DAO;
import br.edu.fucapi.posgraduacao.poo2.sgr.model.Atividade;

/**
 * @class Atividade.java
 * @author Fabio Oliveira
 * @date 11/01/2013
 * @brief Classe utilizada para Controle das Operações das Atividades.
 */

public class AtividadeControllerImpl implements AtividadeController {

	@Inject
	private transient DAO<Atividade, Serializable> dao;
	
	public void salvar(Atividade atividade) throws RuntimeException {
		dao.save(atividade);
	}

	public void remover(Atividade atividade) throws RuntimeException {
		dao.remove(atividade);
	}

	public void atualizar(Atividade atividade) throws RuntimeException {
		dao.update(atividade);
	}

	public List<Atividade> pesquisar(Atividade atividade) throws RuntimeException {		
		return dao.find(atividade);
	}

	public Atividade consultarPorExemplo(Atividade atividade) throws RuntimeException {	
		return dao.findByExemplo(atividade);
	}
	
	public List<Atividade> listarTodos() throws RuntimeException {		
		return dao.findAll(Atividade.class);
	}

}
